package com.fang.shirotestnoredis.util;

import java.math.BigDecimal;

/**
 * 这个类用于操作BigDecimal对象，
 * 因为涉及到金额，如果使用double会出现精度丢失，所以必须使用BigDecimal对象
 */
public class BigDecimalUtil {
    private BigDecimalUtil(){

    }

    public static BigDecimal getValue(String value){
        return new BigDecimal(value);
    }

    //相加
    public static BigDecimal add(String v1,String v2){
        BigDecimal b1 = new BigDecimal(v1);
        BigDecimal b2 = new BigDecimal(v2);
        return b1.add(b2);
    }

    //相减
    public static BigDecimal sub(String v1,String v2){
        BigDecimal b1 = new BigDecimal(v1);
        BigDecimal b2 = new BigDecimal(v2);
        return b1.subtract(b2);
    }

    //相乘
    public static BigDecimal mul(String v1,String v2){
        BigDecimal b1 = new BigDecimal(v1);
        BigDecimal b2 = new BigDecimal(v2);
        return b1.multiply(b2);
    }

    //相除
    public static BigDecimal div(String v1,String v2){
        BigDecimal b1 = new BigDecimal(v1);
        BigDecimal b2 = new BigDecimal(v2);
        //保留两位小数
        return b1.divide(b2,2,BigDecimal.ROUND_HALF_UP);
    }


}
